package com.object.module.lq.sys.controller;

import com.object.utils.FileConvertUtil;
import com.object.utils.FilesUtils;
import com.object.utils.Q;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;

@RequestMapping("/file")
@RestController
@Api(tags = "文件接口")
public class FilesController
{


    @ApiOperation("文件列表查询")
    @GetMapping("/list")
    public Q list()
    {
        return Q.ok().q("data", FilesUtils.fileList());
    }

    @ApiOperation("文件删除接口")
    @GetMapping("/delete")
    public Q deleteFileName(String fileName)
    {
        return FilesUtils.deleteFileName(fileName) ? Q.ok() : Q.error();
    }

//    @ApiOperation("文件转换word转pdf")
//    @GetMapping("/preview")
//    public void onlinePreview(@RequestParam("url") String url, @RequestParam("suffix") String suffix, HttpServletResponse response) throws Exception
//    {
//        InputStream in = FileConvertUtil.convertNetFile(url, "." + suffix);
//        OutputStream outputStream = response.getOutputStream();
//        //创建存放文件内容的数组
//        byte[] buff = new byte[1024];
//        //所读取的内容使用n来接收
//        int n;
//        //当没有读取完时,继续读取,循环
//        while ((n = in.read(buff)) != -1)
//        {
//            //将字节数组的数据全部写入到输出流中
//            outputStream.write(buff, 0, n);
//        }
//        //强制将缓存区的数据进行输出
//        outputStream.flush();
//        //关流
//        outputStream.close();
//        in.close();
//    }
}
